home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / TCP_IP / TNOS230S / VERSION.C < prev    next >
C/C++ Source or Header  |  1997-09-06  |  11KB  |  565 lines

  1. /* version control information */
  2. #include "global.h"
  3. #include "ctype.h"
  4. #ifndef VERSION_FILE_BUILD
  5. #include "commands.h"
  6. #include "mbuf.h"
  7. #include "usock.h"
  8. #include "files.h"
  9. #else
  10. /* redo this in case config.h undoes it */
  11. #undef  VERSION_ON_FILE
  12. #define VERSION_ON_FILE 1
  13. #endif
  14.  
  15.  
  16. #if !defined(_lint)
  17. static char rcsid[] OPTIONAL = "$Id: version.c,v 1.26 1997/09/07 00:31:16 root Exp root $";
  18. #endif
  19.  
  20. #ifdef __ELF__
  21. #define ELF "/ELF"
  22. #else
  23. #define ELF ""
  24. #endif
  25.  
  26. #ifdef UNIX
  27. char Version[] = "KO4KS-TNOS/Unix v"VERSION""ELF;
  28. char shortversion[] = "TNOS"VERSION"/U";
  29. char statversion[] = " TNOS/U v"VERSION" [%2d] ";
  30. char statversion_flow[] = " TNOS/U v"VERSION" >%2d< ";
  31. #else
  32. #ifndef OPTIONAL
  33. #define OPTIONAL
  34. #endif
  35. char Version[] = "KO4KS-TNOS v"VERSION;
  36. char shortversion[] = "TNOS"VERSION;
  37. char statversion[] = " TNOS v"VERSION" [%2d] ";
  38. char statversion_flow[] = " TNOS v"VERSION" >%2d< ";
  39. #endif
  40.  
  41. #if !defined(VERSION_ON_FILE) || defined(VERSION_FILE_BUILD)
  42. #ifdef TNOS_68K
  43. static char VIA[] = "standard serial I/O devices";
  44. #else
  45. #ifndef UNIX
  46. static char VIA[] = "8250/16450/16550";
  47. #endif
  48. #endif
  49. #endif
  50.  
  51. char Version2[] = "This version by Brian A. Lantz, KO4KS\n";
  52.  
  53. #ifdef BETA
  54. #define STATE "beta-test"
  55. #define TRAILER "                             distribute and DIE!!\n"
  56. #else
  57. #define STATE "  release"
  58. #define TRAILER ""
  59. #endif
  60. char Tnosversion[] = "               T  N  O  S    -  Tampa Network Operating System\n                           "STATE" version "VERSION""ELF"\n"TRAILER"\n";
  61.  
  62. #if defined(ALLCMD) || defined(VERSION_ON_FILE)
  63. extern void tdisplay_map (void);
  64.  
  65. int
  66. doversion(int argc, char *argv[], void *p OPTIONAL)
  67. {
  68. #if defined(VERSION_ON_FILE) && !defined(VERSION_FILE_BUILD)
  69.     if (argc > 1 && tolower (argv[1][0]) == 's')    /* short version */
  70.         tprintf ("TNOS %s\n", Version);
  71.     else    {
  72.         (void) DisplayFile (VersionFile,Curproc->output);
  73.         tdisplay_map ();
  74.     }
  75. #else
  76. int k;
  77.  
  78. /* this is to quiet warnings when compiling as mkvers.c */
  79.     if (argc || argv || p)
  80.         k = 0;
  81.  
  82.  
  83. #ifdef VERSION_ON_FILE
  84. /*lint -esym(652,tprintf) */
  85. #define tprintf printf
  86. #ifdef UNIX
  87. #undef tputs
  88. #endif
  89. #define tputs(str) fputs(str, stdout)
  90. #endif
  91.  
  92. #ifndef TNOS_68K
  93.     tprintf("TNOS %s, compiled %s %s, containing:\n" ,Version,__DATE__,__TIME__);
  94. #else
  95.     tprintf("TNOS %s, containing:\n" ,Version);
  96. #endif
  97.     tputs("TCP Servers:");
  98.  
  99. #ifndef SERVERS
  100.     tputs("  None !\n");
  101. #endif /* ! SERVERS */
  102.  
  103. #ifdef SERVERS
  104.     tputs("  SMTP  FINGER  FTP");
  105.  
  106. #ifdef MAILBOX
  107.     tputs("  TELNET");
  108. #endif /* MAILBOX */
  109.  
  110. #ifdef ALLSERV
  111.     tputs("  TTYLINK  QUOTE  DISCARD  ECHO");
  112. #ifdef RLOGINSERV
  113.     tputs("  RLOGIN");
  114. #endif /* RLOGINSERV */
  115. #endif /* ALLSERV */
  116.  
  117.     tputs("\n            ");
  118. #ifdef ALLSERV
  119.     tputs("  TIME  DAYTIME");
  120. #endif /* ALLSERV */
  121.  
  122. #ifdef CALLSERVER
  123.     tputs("  CALLBOOK (CD-ROM)");
  124. #endif /* CALLSERVER */
  125.  
  126. #ifdef SAMCALLB
  127.     tputs("  CALLBOOK (SAM)");
  128. #endif /* SAMCALLB */
  129.  
  130. #ifdef CONVERS
  131.     tputs("  CONVERS");
  132. #endif /* CONVERS */
  133.  
  134. #ifdef NNTPS
  135.     tputs("  NNTP");
  136. #endif /* NNTPS */
  137.  
  138. #ifdef POP2SERVER
  139.     tputs("  POP2");
  140. #endif /* POP2SERVER */
  141.  
  142. #ifdef POP3SERVER
  143.     tputs("  POP3");
  144. #endif /* POP3SERVER */
  145.  
  146. #ifdef RDATE
  147.     tputs ("  RDATE");
  148. #endif /* RDATE */
  149.  
  150. #ifdef TERMSERVER
  151.     tputs ("  TERM");
  152. #endif
  153.  
  154.     tputs("\n");
  155.  
  156. #endif /* SERVERS */
  157.  
  158.  
  159.     tputs("TCP Clients:  SMTP");
  160.  
  161. #ifdef ALLCMD
  162.     tputs("  FINGER");
  163. #endif
  164.  
  165. #ifdef ALLSESSIONS
  166.     tputs("  FTP  TELNET");
  167. #endif /* ALLSESSIONS */
  168.  
  169. #ifdef ALLSERV
  170.     tputs("  TTYLINK");
  171. #endif /* ALLSERV */
  172.  
  173.     tputs("  QUOTE  TIME  DAYTIME\n");
  174.  
  175. #if (defined(SAMCALLB) || defined(CALLCLI) || defined(CONVERS) || defined(NNTP) || defined(NNTPS) || defined(POP2CLIENT) || defined(POP3CLIENT) || defined(RLOGINCLI) || defined(RDATE)) || defined(LOOKSESSION)
  176.     tputs("            ");
  177.  
  178. #if defined(CALLCLI) || defined(SAMCALLB)
  179.     tputs("  CALLBOOK");
  180. #endif /* CALLCLI || SAMCALLB */
  181.  
  182. #ifdef CONVERS
  183.     tputs("  CONVERS");
  184. #endif /* CONVERS */
  185.  
  186. #if (defined(NNTP) || defined(NNTPS))
  187.     tputs("  NNTP");
  188. #endif /* NNTP || NNTPS */
  189.  
  190. #ifdef POP2CLIENT
  191.     tputs("  POP2");
  192. #endif /* POP2CLIENT */
  193.  
  194. #ifdef POP3CLIENT
  195.     tputs("  POP3");
  196. #endif /* POP3CLIENT */
  197.  
  198. #ifdef RLOGINCLI
  199.     tputs("  RLOGIN");
  200. #endif /* RLOGINCLI */
  201.  
  202. #ifdef LOOKSESSION
  203.         tputs("  LOOK");
  204. #endif
  205. #ifdef AXUI
  206.     tputs("  AXUI");
  207. #endif
  208.     tputs("\n");
  209. #endif /* LOOKSESSION || CALLCLI || CONVERS || NNTP || NNTPS || POP2CLIENT || POP3CLIENT || RLOGINCLI || RDATE */
  210.  
  211.  
  212. #ifdef LZW
  213.     tputs("    with LZW compression for TCP sockets\n");
  214. #endif /* LZW */
  215.  
  216. #if (defined(TCPACCESS) || defined(IPACCESS))
  217.     tputs("    with ");
  218.  
  219. #ifdef TCPACCESS
  220.     tputs("TCP");
  221. #endif /* TCPACCESS */
  222.  
  223. #if (defined(TCPACCESS) && defined(IPACCESS))
  224.     tputs("/");
  225. #endif /* TCPACCESS && IPACCESS */
  226.  
  227. #ifdef IPACCESS
  228.     tputs("IP");
  229. #endif /* IPACCESS */
  230.  
  231.     tputs(" access controls\n");
  232. #endif /* TCPACCESS || IPACCESS */
  233.  
  234.  
  235.     tputs("UDP Servers:");
  236.  
  237. #if (!defined(DSERVER) && !defined(SERVERS) && !defined(BOOTP))
  238.     tputs("  None !");
  239. #endif /* ! DSERVER && ! SERVERS */
  240.  
  241. #ifdef DSERVER
  242.     tputs("  DOMAIN NAMESERVER");
  243. #endif /* DSERVER */
  244.  
  245. #ifdef SERVERS
  246.     tputs("  REMOTE");
  247. #endif /* SERVERS */
  248. #ifdef    BOOTP
  249.     tputs("  BOOTP");
  250. #endif
  251.     tputs("\n");
  252.  
  253.  
  254. #ifdef TIPMAIL
  255.     tputs("TIP Mailbox Server");
  256. #ifdef XMODEM
  257.     tputs(" with Xmodem file transfer");
  258. #endif /* XMODEM */
  259.     tputs("\n");
  260. #endif /* TIPMAIL */
  261.  
  262.  
  263. #ifdef MAILBOX
  264.     tputs("Full Service BBS");
  265.  
  266. #if (defined(RMAIL) || defined(EXPIRY) || defined(MAILFOR) || defined(MBFWD) || defined(RLINE) || defined(WPAGES))
  267.     tputs(" with:\n ");
  268. #endif /* RMAIL || EXPIRY || MAILFOR || MBFWD || RLINE || WPAGES */
  269.  
  270.     k = 0;
  271. #ifdef RMAIL
  272.     tputs("   Remote Mailer (RMAIL)  ");
  273.     ++k;
  274. #endif
  275. #ifdef EXPIRY
  276.     tputs("   Message and BID expiry ");
  277.     ++k;
  278. #endif /* EXPIRY */
  279.  
  280. #ifdef MAILFOR
  281.     tputs("   'Mail For' beaconing   ");
  282.     ++k;
  283. #endif /* MAILFOR */
  284.  
  285. /*lint -e774 */
  286. #ifdef MBFWD
  287.     if (!(k % 3))
  288.         tputs("\n ");
  289.     tputs("   AX.25 mail forwarding  ");
  290.     ++k;
  291. #endif /* MBFWD */
  292.  
  293. #ifdef RLINE
  294.     if (!(k % 3))
  295.         tputs("\n ");
  296.     tputs("   'R:-line' compatibility");
  297.     ++k;
  298. #endif /* RLINE */
  299.  
  300. #ifdef WPAGES
  301.     if (!(k % 3))
  302.         tputs("\n ");
  303.     tputs("   'Pseudo-White Pages'   ");
  304.     ++k;
  305. #endif
  306. #ifdef FBBFWD
  307.     if (!(k % 3))
  308.         tputs("\n ");
  309.     tputs("   'FBB-style' forwarding ");
  310. #ifdef FBBCMP
  311.     tputs("with compression");
  312. #else
  313.     tputs("without compression");
  314. #endif
  315. #endif
  316.  
  317.     tputs("\n");
  318.  
  319. #endif /* MAILBOX */
  320.  
  321. #if (defined(CALLBOOK) || defined(AXIP) || defined(ENCAP))
  322.     tputs("Internet Services:");
  323.  
  324. #if defined(CALLBOOK)
  325.     tputs("  BBS Callbook Client");
  326. #endif /* CALLBOOK */
  327.  
  328. #ifdef AXIP
  329.     tputs("  AX.25 Digipeating (AXIP)");
  330. #endif /* AXIP */
  331.  
  332. #ifdef ENCAP
  333.     tputs("  IP Encapsulation");
  334. #endif /* ENCAP */
  335.  
  336.     tputs("\n");
  337. #endif /* CALLBOOK || AXIP || ENCAP */
  338.  
  339.     tputs("Assorted TNOS Features:\n");
  340.     k = 0;
  341. #ifdef CONVERS
  342.     tputs("     Expanded Conference bridge        ");
  343.     k++;
  344. #endif
  345. #ifdef REQSVR
  346.     tputs("     Remote Request Server             ");
  347.     k++;
  348. #endif
  349.     if (!(k % 2))
  350.         tputs("\n");
  351.     tputs("     ANSI Color Graphics               ");
  352.     k++;
  353. #ifdef SCREENSAVER
  354.     if (!(k % 2))
  355.         tputs("\n");
  356.     tputs("     Local screen saver                ");
  357.     k++;
  358. #endif
  359. #ifdef  MSDOS
  360.     if (!(k % 2))
  361.         tputs("\n");
  362.     tputs("     Virtual Memory storage routines   ");
  363.     k++;
  364. #endif
  365. #ifdef TUTOR
  366.     if (!(k % 2))
  367.         tputs("\n");
  368.     tputs("     Information/News/Tutorial Services");
  369.     k++;
  370. #endif
  371. #ifdef SCRIPTING
  372.     if (!(k % 2))
  373.         tputs("\n");
  374.     tputs("     Command Session Scripting Commands");
  375.     k++;
  376. #endif
  377. #ifdef CRONTAB
  378.     if (!(k % 2))
  379.         tputs("\n");
  380.     tputs("     Crontab daemon                    ");
  381.     k++;
  382. #endif
  383. #ifdef SQL
  384.     if (!(k % 2))
  385.         tputs("\n");
  386.     tputs("     SQL server support                ");
  387.     k++;
  388. #endif
  389. #ifdef NODECALL
  390.     if (!(k % 2))
  391.         tputs("\n");
  392.     tputs("     TNODE application                 ");
  393.     k++;
  394. #endif
  395. /*lint +e774 */
  396.     tputs("\n");
  397.  
  398.  
  399. #ifdef HOPCHECK
  400.     tputs("Hopcheck IP path tracing\n");
  401. #endif /* HOPCHECK */
  402.  
  403. #ifdef RIP
  404.     tputs("RIP Routing Protocol\n");
  405. #endif /* RIP */
  406.  
  407. #ifdef RSPF
  408.     tputs("Radio Shortest Path First Protocol (RSPF)\n");
  409. #endif /* RSPF */
  410.  
  411. #ifdef RARP
  412.     tputs("Reverse Address Resolution Protocol (RARP)\n");
  413. #endif /* RARP */
  414.  
  415. #ifdef ASY
  416. #ifdef UNIX
  417.     tputs("Generic termios interface driver\n");
  418. #else
  419.     tprintf("Generic async (%s) interface driver\n", VIA);
  420. #endif
  421.  
  422. #if (defined(KISS) || defined(AX25) || defined(NRS))
  423.     tputs("Async interface drivers:");
  424.  
  425. #ifdef KISS
  426.     tputs("  KISS TNC");
  427. #endif /* KISS */
  428.  
  429. #ifdef POLLEDKISS
  430.     tputs ("  POLLED-KISS");
  431. #endif /* POLLEDKISS */
  432.  
  433.  
  434. #ifdef AX25
  435.     tputs("  AX.25");
  436. #endif /* AX25 */
  437.  
  438. #ifdef NRS
  439.     tputs("  NET/ROM TNC");
  440. #endif /* NRS */
  441.  
  442.     tputs("\n");
  443. #endif /* KISS || AX25 || NRS */
  444.  
  445. #endif /* ASY */
  446.  
  447. #ifdef NETROM
  448.     tputs("NET/ROM network interface\n");
  449. #endif /* NETROM */
  450.  
  451. #if (defined(PPP) || defined(SLIP))
  452.     tputs("Async IP drivers:");
  453.  
  454. #ifdef PPP
  455.     tputs("  Point-to-Point (PPP)");
  456. #endif /* PPP */
  457.  
  458. #ifdef SLIP
  459.     tputs("  Serial Line (SLIP)");
  460. #endif /* SLIP */
  461.  
  462. #ifdef DIALER
  463.     tputs(" - with dialer code");
  464. #endif /* DIALER */
  465.     tputs("\n");
  466.  
  467. #ifdef VJCOMPRESS
  468.     tputs("      with Van Jacobson compression\n");
  469. #endif /* VJCOMPRESS */
  470.  
  471. #endif /* PPP || SLIP */
  472.  
  473. #ifdef PACKET
  474.     tputs("FTP Software's PACKET driver interface\n");
  475. #endif /* PACKET */
  476.  
  477. #ifdef ARCNET
  478.     tputs("ARCnet via PACKET driver\n");
  479. #endif /* ARCNET */
  480.  
  481. #ifdef DRSI
  482.     tputs("DRSI PCPA low-speed driver\n");
  483. #endif /* DRSI */
  484.  
  485. #ifdef EAGLE
  486.     tputs("Eagle card 8530 driver\n");
  487. #endif /* EAGLE */
  488.  
  489. #ifdef ETHER
  490. #ifndef linux
  491.     tputs("Generic ethernet driver\n");
  492. #else
  493.     tputs("Linux Kernel ethernet driver\n");
  494. #endif
  495. #endif /* ETHER */
  496.  
  497. #ifdef HAPN
  498.     tputs("Hamilton Area Packet Network driver\n");
  499. #endif /* HAPN */
  500.  
  501. #ifdef HS
  502.     tputs("High speed (56 kbps) modem driver\n");
  503. #endif /* HS */
  504.  
  505. #ifdef PACKETWIN
  506.     tputs("Gracilis PackeTwin driver\n");
  507. #endif /* PACKETWIN */
  508.  
  509. #ifdef PC_EC
  510.     tputs("3-Com 3C501 Ethernet controller driver\n");
  511. #endif /* PC_EC */
  512.  
  513. #ifdef PC100
  514.     tputs("PAC-COM PC-100 driver\n");
  515. #endif /* PC100 */
  516.  
  517. #ifdef PI
  518.     tputs("PI SCC card with DMA driver (VE3IFB)\n");
  519. #endif /* PI */
  520.  
  521. #ifdef SCC
  522.     tputs("Generic SCC (8530) driver (PE1CHL)\n");
  523. #endif /* SCC */
  524.  
  525. #ifdef SLFP
  526.     tputs("SLFP via PACKET driver\n");
  527. #endif /* SLFP */
  528.     
  529. #ifdef TRACE
  530.     tputs("Hardware interface packet tracing code");
  531. #ifdef MONITOR
  532.     tputs(" - with user monitor mode");
  533. #endif
  534.     tputs("\n");
  535. #endif /* TRACE */
  536.  
  537. #ifdef UNIX
  538.     tputs("Linux/Unix/POSIX modifications by Brandon S. Allbery & Brian A. Lantz\n");
  539. #endif
  540. #ifdef __bsdi__
  541.     tputs("Initial BSD/OS modifications by Dave VK2KFU and Kirk VE6KIK\n");
  542. #endif
  543.  
  544. #ifdef MONITOR
  545.     tputs("User port monitor trace mode\n");
  546. #endif
  547.  
  548. #ifdef TTYCALL
  549.     tputs("AX.25 ttylink mode\n");
  550. #endif
  551.  
  552. #ifdef AXBCSTR
  553.     tputs("AX.25 broadcast strings\n");
  554. #endif
  555.  
  556. #ifdef FORTH
  557.     tputs("SM0RGV Forth\n");
  558. #endif
  559.  
  560. #endif
  561.  
  562.     return 0;
  563. }
  564. #endif /*ALLCMD*/
  565.